#ifndef MAIN_H
#define MAIN_H

#include <stdint.h>
#include <stdbool.h>

// 服务端全局配置结构体
typedef struct {
    uint16_t port;           // 监听端口号，默认8080
    const char* config_file; // 配置文件路径，可选
    const char* log_file;    // 日志文件路径，默认stdout
    int max_connections;     // 最大连接数，默认100
    bool daemon_mode;        // 是否以守护进程模式运行
    int timeout;             // 连接超时时间(秒)，默认300
} ServerConfig;

// 初始化默认配置
void init_default_config(ServerConfig* config);

// 解析命令行参数
int parse_command_line(int argc, char* argv[], ServerConfig* config);

// 从配置文件加载配置
int load_config_file(const char* filename, ServerConfig* config);

// 显示配置信息
void print_config(const ServerConfig* config);

// 程序入口函数声明
int main(int argc, char* argv[]);

#endif // MAIN_H

